﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;

using IEQ_Superintendencia.Domain.Entity;


namespace IEQ_Superintendencia.Services.Persistence
{
    public class DAOPastor
    {
        public static bool Inserir(Pastor _pa)
        {
            #region Procedure
            //SqlConnection myConn = null;
            //int result = 0;

            //try
            //{
            //    myConn = BDConexao.getInstance().getConnection();
            //    SqlCommand myCom = new SqlCommand("PASTOR_INSERT", myConn);
            //    myCom.CommandType = System.Data.CommandType.StoredProcedure;
            //    myCom.Parameters.AddWithValue("PESSOA_NOME", _pa.pessoa_nome);
            //    myCom.Parameters.AddWithValue("PESSOA_ENDERECO", _pa.pessoa_endereco);
            //    myCom.Parameters.AddWithValue("PESSOA_COMPLEMENTO", _pa.pessoa_complemento);
            //    myCom.Parameters.AddWithValue("PESSOA_BAIRRO", _pa.pessoa_bairro);
            //    myCom.Parameters.AddWithValue("PESSOA_CIDADE", _pa.pessoa_cidade);
            //    myCom.Parameters.AddWithValue("PESSOA_UF", _pa.pessoa_uf);
            //    myCom.Parameters.AddWithValue("PESSOA_CEP", _pa.pessoa_cep);
            //    myCom.Parameters.AddWithValue("PESSOA_DATA_NASC", _pa.pessoa_data_nasc);
            //    myCom.Parameters.AddWithValue("PESSOA_NATURALIDADE", _pa.pessoa_naturalidade);
            //    myCom.Parameters.AddWithValue("PESSOA_RG", _pa.pessoa_rg);
            //    myCom.Parameters.AddWithValue("PESSOA_CPF", _pa.pessoa_cpf);
            //    myCom.Parameters.AddWithValue("PESSOA_TITULO_ELEITOR", _pa.pessoa_titulo_eleitor);
            //    myCom.Parameters.AddWithValue("PESSOA_ZONA", _pa.pessoa_zona);
            //    myCom.Parameters.AddWithValue("PESSOA_SECAO", _pa.pessoa_secao);
            //    myCom.Parameters.AddWithValue("PESSOA_TELEFONE_RESIDENCIA", _pa.pessoa_telefone_residencia);
            //    myCom.Parameters.AddWithValue("PESSOA_CELULAR", _pa.pessoa_celular);
            //    myCom.Parameters.AddWithValue("PESSOA_TELEFONE_SERVICO", _pa.pessoa_telefone_servico);
            //    myCom.Parameters.AddWithValue("PESSOA_TELEFONE_RECADO", _pa.pessoa_telefone_recado);
            //    myCom.Parameters.AddWithValue("PESSOA_EMAIL", _pa.pessoa_email);
            //    myCom.Parameters.AddWithValue("PESSOA_FOTO", DBNull.Value);
            //    myCom.Parameters.AddWithValue("PASTOR_PRONTUARIO", _pa.pastor_prontuario);
            //    myCom.Parameters.AddWithValue("PASTOR_CATEGORIA_ID", _pa.pastor_categoria_id);

            //    result = myCom.ExecuteNonQuery();

            //}
            //catch(Exception ex)
            //{
            //    MessageBox.Show(ex.StackTrace);                
            //}

            //if (result == 0)
            //    return false;
            //else
            //    return true;
            #endregion
          
          int result = 0;

          IEQ_Superintendencia.Services.Persistence.dsIEQSuperTableAdapters.PASTORTableAdapter taPastor = new IEQ_Superintendencia.Services.Persistence.dsIEQSuperTableAdapters.PASTORTableAdapter();

          try
          {
              result = (taPastor.Insert(_pa.pastor_prontuario, _pa.pastor_igreja_id, _pa.pastor_categoria_id, _pa.pessoa_nome,
                                            _pa.pessoa_cpf, _pa.pessoa_rg, _pa.pessoa_data_nasc, _pa.pessoa_endereco,
                                            _pa.pessoa_endereco_num, _pa.pessoa_complemento, _pa.pessoa_bairro, _pa.pessoa_cidade,
                                            _pa.pessoa_uf, _pa.pessoa_cep, _pa.pessoa_naturalidade, _pa.pessoa_estado_civil,
                                            _pa.pessoa_titulo_eleitor, _pa.pessoa_zona, _pa.pessoa_secao, _pa.pessoa_telefone_residencia,
                                            _pa.pessoa_celular, _pa.pessoa_telefone_servico, _pa.pessoa_telefone_recado,
                                            _pa.pessoa_email, null, _pa.pastor_ingresso_ministerio, _pa.pastor_conjugue,
                                            _pa.pastor_data_casamento, _pa.pastor_observacao));
          }
          catch (Exception ex)
          {
              MessageBox.Show(ex.StackTrace.ToString());
          }
          if (result > 0)
              return true;
          else
              return false;

        }

        public static int GetPastorID()
        {
            IEQ_Superintendencia.Services.Persistence.dsIEQSuperTableAdapters.PASTORTableAdapter taPastor = new IEQ_Superintendencia.Services.Persistence.dsIEQSuperTableAdapters.PASTORTableAdapter();
            int pastorID;
            if (Int32.TryParse(taPastor.GetPastorID().ToString(), out pastorID))
                return pastorID;
            else
                return 0;

        }

        public static DataSet Select(int _pastor_id)
        {
            SqlConnection myConn = null;
            SqlDataReader drPastor;
            DataSet dsPastor = null;

            try
            {
                myConn = BDConexao.getInstance().getConnection();
                SqlCommand myCom = new SqlCommand("PASTOR_SELECT", myConn);
                myCom.CommandType = System.Data.CommandType.StoredProcedure;
                myCom.Parameters.AddWithValue("PASTOR_ID", _pastor_id);

                SqlDataAdapter myAdap = new SqlDataAdapter();
                myAdap.SelectCommand = myCom;
                myAdap.Fill(dsPastor);

                drPastor = myCom.ExecuteReader();

            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.StackTrace);
            }

            return dsPastor;

        }

        
    }
}
